// --------------------- 添加响应拦截器 --------------------
axios.interceptors.response.use(
  response => {
    // 响应成功（响应状态码 2xx 和 3xx），进这里
    // 这里针对服务器响应的友情提示，比如账号密码错误、用户名已被占用等，统一提示
    let { status, message } = response.data;
    if (status === 1) layer.msg(message);
    return response;
  }, 
  error => {
    // 响应报错（响应状态码 4xx 和 5xx），进这里
    // 比如提交的参数格式有误，服务器会响应400状态码
    // 比如身份认证错误，服务器响应401
    let { status, message } = error.response.data;
    if (status === 1 &&message ==='身份认证失败!') {
      //移除过期的或者假的token
      localStorage.removeItem('token')
      // 跳转到登录页
      location.href = './login.html'
    }
    layer.msg(message)
  	return Promise.reject(error);
	}
)


// 马上发送请求
// axios里面也可以配置请求
// axios.get(url,{配置项})  -----配置项去ajax官网查看

axios.get('http://www.itcbc.com:8080/my/user/userinfo',{
  //键:值
  headers:{
    Authorization:localStorage.getItem('token')
  }
}).then(res => {
  let {nickname,user_pic,username} = res.data.data;
  // console.log(nickname,username);
  // 1.设置欢迎你xxx
  //  a || b, 返回的是a或者b,短路运算
  //如果nickname是真,直接返回它,如果是nickname是假,则返回后面的username
  let name = nickname || username;
  $('.username').text(name);
  // 2.显示头像(新注册的账号没有头像,获取name,取得第一个字符,转大写)
  if(user_pic){
    // 说明用户有头像
    $('.layui-nav-img').attr('src',user_pic).show();
  }else{
    // 说明用户没有头像
    let first = name.substring(0,1).toUpperCase();
    // show() 通过设置display样式,让一个元素显示,设置的值是inline / inline-block / block 哪一个呢?
    // 元素如果是行内元素,shou() 之后会设置display:inline,如果是div,show()之后是display:block
    $('.user-avatar').text(first).css('display','inline-block')
  }
})


// 退出功能
$('#logout').on('click',function(){
  // 询问是否要退出
  layer.confirm('你确定要退出吗', {icon: 3, title:'提示'}, function(index){
    //do something
    // 如果点击了确定,会执行这个函数
    // 1.删除token
    localStorage.removeItem('token')
    // 2.跳转登录页
    location.href = './login.html'
    
    layer.close(index);  //关闭弹层
  });
})
